/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package itc.com.co.beans.utils;

import EntidadesCM.CuentaCM;
import java.util.List;
import javax.faces.model.ListDataModel;
import org.primefaces.model.SelectableDataModel;

/**
 *
 * @author Nas
 */
public class CuentaDataModel extends ListDataModel<CuentaCM> implements SelectableDataModel<CuentaCM>{
    
    private List<CuentaCM> cuentas = null;

    public CuentaDataModel() {
    }

    public CuentaDataModel(List<CuentaCM> data) {
        super(data);
        if (data != null && !data.isEmpty()) {
            cuentas = data;
        } else {
            cuentas= (List<CuentaCM>) getWrappedData();
        }

    }

    @Override
    public CuentaCM getRowData(String rowKey) {
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data  

        try {
            if (cuentas == null || cuentas.isEmpty()) {
                cuentas = (List<CuentaCM>) getWrappedData();
            }

            for (CuentaCM cuenta : cuentas) {
                if (cuenta.getIdCuenta().equals(Integer.valueOf(rowKey))) {
                    return cuenta;
                }
            }
        } catch (NumberFormatException e) {
        }
        return null;
    }

    @Override
    public Object getRowKey(CuentaCM cuenta) {
        return cuenta.getIdCuenta();
    }

    public void setAfiliaciones(List<CuentaCM> cuentas) {
        this.cuentas = cuentas;
    }
}

